package com.ruoyi.project.ypjxc.mapper;

import com.ruoyi.project.ypjxc.domain.Drug;
import com.ruoyi.project.ypjxc.domain.DrugType;

import java.util.List;

public interface YpjxcDrugMapper {
    /**
     * 查询药品数据集合
     *
     * @param drug 药品信息
     * @return 药品数据集合
     */
    public List<Drug> selectDrugList(Drug drug);




    /**
     * 新增药品信息
     *
     * @param drug 药品信息
     * @return 结果
     */
    public int insertDrug(Drug drug);

    /**
     * 修改药品信息
     *
     * @param drug 药品信息
     * @return 结果
     */
    public int updateDrug(Drug drug);


    /**
     * 根据id查询药品信息
     * @param drugId
     * @return
     */
    Drug selectDrugById(Long drugId);

    /**
     * 根据药品类型信息查询药品类型数量
     * @param drugType
     * @return
     */
    int selectDrugCountByDrugType(DrugType drugType);


    /**
     * 批量删除药品信息
     *
     * @param drugIds 需要删除的药品ID
     * @return 结果
     */
    public int deleteDrugByIds(Long[] drugIds);

    /**
     * 批量删除药品供应商关系信息
     *
     * @param drugIds 需要删除的药品ID
     * @return 结果
     */
    public int deleteDrugSupplierByIds(Long[] drugIds);

    /**
     * 批量删除药品工厂关系信息
     *
     * @param drugIds 需要删除的药品ID
     * @return 结果
     */
    public int deleteDrugFactoryByIds(Long[] drugIds);

    /**
     * 批量删除药品处方关系信息
     *
     * @param drugIds 需要删除的药品ID
     * @return 结果
     */
    public int deleteDrugMedicinelistByIds(Long[] drugIds);

    /**
     * 批量删除药品药品关系信息
     *
     * @param drugIds 需要删除的药品ID
     * @return 结果
     */
    public int deleteDrugDrugByIds(Long[] drugIds);
}
